package com.pd.mq;

import com.pd.pojo.PdOrder;
import com.pd.service.OrderService;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/*
消费者是全自动执行
应用启动后，消费者就开始接收处理消息
 */
@Component              //自动创建实例
//自动注册成为消费者，自动开始从orderQueue接收消息
@RabbitListener(queues = "orderQueue")
public class OrderConsumer {
    @Autowired
    private OrderService orderService;

    //@RabbitHandler配合@RabbitListener，指定一个处理消息的方法
    //收到的消息会自动传入这个方法进行处理
    @RabbitHandler
    public void receive(PdOrder pdOrder) throws Exception {
        orderService.saveOrder(pdOrder);
        System.out.println("\n\n---------------------订单已存储\n\n");
    }
//    public void save(PdOrder pdOrder)
//    {
//        System.out.println("消费者");
//        System.out.println(pdOrder.toString());
//        try {
//            orderService.saveOrder(pdOrder);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }

}
